﻿var arreglodias = ["LUNES", "MARTES", "MIERCOLES", "JUEVES", "VIERNES", "SABADO"];
var arregloc = new Array();

for (var i = 0; i < 7; i++) {
    arregloc.push("l");
}

$(document).ready(function () {

    $('input:checkbox').dblclick(function (event) {

        this.checked = !this.checked;
        event.preventDefaul();
    });


    $('input:checkbox').click(function () {

        var checado = $(this);
        var checadoclick = this.checked;
        var libre = false;
        var xmlchecado = $(this).val();
        var impartidos;
        var arreglo = new Array();
        var colonum = 0;
        var lstachk = null;

        var schecadoclick = checadoclick ? 'disabled' : '';
        var xml;

        if (checadoclick) {


            for (var i = 0; i < arregloc.length; i++) {
                if (arregloc[i] == "l") {
                    libre = true;
                    colonum = i;
                    break;
                }

            }
            if (!libre) {
                alert("Ya no puedes hacer mas carga de materias");
                this.checked = false;
                return;
            }
        }



        if (typeof xmlchecado == 'string') {
            xml = new ActiveXObject('Microsoft.XMLDOM');
            xml.async = false;
            xml.loadXML(xmlchecado);
        }
        else {
            xml = xmlchecado;
        }

        var materia = $(xml).find('Materia').text();
        $(xml).find('DIAIMPARTIR').each(function () {
            var dia = $(this).find('Dia').text();
            var horainicio = $(this).find('HorarioInicio').text();
            var horafin = $(this).find('HorarioFin').text();
            impartidos = new Object();

            impartidos.dia = dia;
            impartidos.horafin = Date.parseExact(horafin, "HH:mm:ss");
            impartidos.horainicio = Date.parseExact(horainicio, "HH:mm:ss");
            arreglo.push(impartidos);
            var exi = metermateria(dia, horainicio.slice(0, horainicio.length - 3), horafin.slice(0, horafin.length - 3), checado, colonum);

            if (!exi) {
                checado.checked = false;
                return;
            }

        });



        var xmlhijo = new ActiveXObject('Microsoft.XMLDOM');
        xmlhijo.async = false;
        var materhijo;
        $('input:checkbox').each(function () {
            if (checado != $(this)) {
                if (!this.checked) {
                    lstachk = $(this);
                    xmlhijo.loadXML(lstachk.val());
                    materhijo = $(xmlhijo).find('Materia').text();

                    if (materia == materhijo) {

                        if (checadoclick) {
                            //Des-Habilita el check si es la misma materia
                            if (lstachk.attr("class") != 'deshabilitar') {

                                lstachk.addClass('deshabilitar');
                                lstachk.attr('disabled', 'disabled');
                                lstachk.parent().find('LABEL').each(function () {
                                    lstachk.addClass('deshabilitar');
                                    lstachk.attr('disabled', 'disabled');

                                });
                                lstachk.attr('title', "La materia esta empalmada");
                            }
                        }
                        else {
                            if (lstachk.attr("class") != '') {
                                //Habilita el check si es la misma materia
                                lstachk.removeAttr('disabled');
                                lstachk.removeClass('deshabilitar');
                                lstachk.parent().find('LABEL').each(function () {
                                    lstachk.removeAttr('disabled');
                                    lstachk.removeClass('deshabilitar');
                                });
                                lstachk.attr('title', "");
                            }
                        }

                    }
                    else {
                        $(xmlhijo).find('DIAIMPARTIR').each(function () {
                            var dia = $(this).find('Dia').text();
                            var horainicio = Date.parseExact($(this).find('HorarioInicio').text(), "HH:mm:ss").add(1).minutes();
                            var horafin = Date.parseExact($(this).find('HorarioFin').text(), "HH:mm:ss").add(-1).minutes();

                            for (var i = 0; i < arreglo.length; i++) {
                                if (dia == arreglo[i].dia) {
                                    if ((horainicio.between(arreglo[i].horainicio, arreglo[i].horafin)) ||
                                        (horafin.between(arreglo[i].horainicio, arreglo[i].horafin))) {
                                        //                                        $(xmlhijo).attr('disabled', checadoclick);
                                        if (checadoclick) {
                                            //Deshabilita si se empalma la hora
                                            if (lstachk.attr("class") != 'deshabilitar') {
                                                lstachk.addClass('deshabilitar');
                                                lstachk.attr('disabled', 'disabled');
                                                lstachk.parent().find('LABEL').each(function () {
                                                    lstachk.addClass('deshabilitar');
                                                    lstachk.attr('disabled', 'disabled');

                                                });
                                                lstachk.attr('title', "La materia esta empalmada");
                                            }

                                        }
                                        else {
                                            //Habilita el checkbox
                                            if (lstachk.attr("class") != '') {
                                                lstachk.removeAttr('disabled');
                                                lstachk.removeClass('deshabilitar');
                                                lstachk.parent().find('LABEL').each(function () {
                                                    lstachk.removeAttr('disabled');
                                                    lstachk.removeClass('deshabilitar');
                                                });
                                                lstachk.attr('title', "");
                                            }


                                        }
                                    }


                                }
                            }


                        });

                    }

                }
            }

        });


    });

});



function metermateria(dia, hini, hfin, chk, colonum) {
    var calendario = document.getElementById('tcalendario');
    var columna = 0;
    var pintar = false;
    var brpintar = false;
    var exito = false;
    
    var nomclas = "materia" + (colonum + 1);
    var numquitar = "";


    try {
        for (var i = 0; i < calendario.rows[0].cells.length; i++) {
            if (calendario.rows[0].cells[i].innerHTML == dia) {
                columna = i;
            }
        }




        for (var i = 0; i < calendario.rows.length; i++) {

            if (calendario.rows[i].cells[0].innerHTML == hini) {
                pintar = true;
            }

            if (calendario.rows[i].cells[0].innerHTML == hfin) {
                break;
            }


            if (pintar) {



                if (calendario.rows[i].cells[columna].className == '') {
                    
                    calendario.rows[i].cells[columna].className = nomclas;

                    if (chk.context.className == '') {
                        arregloc[colonum] = 'o';
                        chk.addClass(nomclas);
                        chk.parent().find('LABEL').addClass(nomclas);
                    }



                }
                else {
                    
                    calendario.rows[i].cells[columna].className = "";

                    if (chk.context.className != '') {
                        numquitar = chk.context.className;
                        var iquitar = numquitar.slice(-1);
                        arregloc[parseInt(iquitar) - 1] = 'l';
                        chk.removeClass(numquitar);

                        chk.parent().find('LABEL').removeClass(numquitar);
                    }
                }

            }
        }

       
        exito = true;
    } catch (e) {

    }
    return exito;

}


function Impresion() {
    var count = 1;
//    var attachdata = "";
    $('#materiasimprimir > tbody').empty();
    var nombrealumno = "";
    var cuentaalumno = "";
    var carreraalumno = "";
    $('.vieneback').each(function () {
        if ($(this).prop("id").indexOf("lblmatricula") > 0) {
            $('#cuentaimpresion').html($(this).text());
        }

        if ($(this).prop("id").indexOf("lblnombre") > 0) {
            $('#nombreimpresion').html($(this).text());
           
        }

        if ($(this).prop("id").indexOf("lblcarrera") > 0) {
            $('#carreraimpresion').html($(this).text());
       
        }
    });


    var crearbody = "";
    $('input:checkbox').each(function () {

        if (this.checked) {

            crearbody = crearbody + "<tr><td>" + count + "</td>";
            var checado = $(this);
            var xmlchecado = $(this).val();
            var xml;

            if (typeof xmlchecado == 'string') {
                xml = new ActiveXObject('Microsoft.XMLDOM');
                xml.async = false;
                xml.loadXML(xmlchecado);
            }
            else {
                xml = xmlchecado;
            }
            var materia = $(xml).find('Materia').text();
            var nombre = $(xml).find('Nombre').text();
            var nrc = $(xml).find('NRC').text();
            var curso = $(xml).find('Curso').text();
            crearbody = crearbody + "<td>" + materia + "</td>";
            crearbody = crearbody + "<td>" + nombre + "</td>";
            crearbody = crearbody + "<td>" + nrc + "</td>";
            crearbody = crearbody + "<td>" + curso + "</td>";
            var diainsertar;
            for (var i = 0; i < arreglodias.length; i++) {
                diainsertar = "<td></td>";
                $(xml).find('DIAIMPARTIR').each(function () {
                    var dia = $(this).find('Dia').text();
                    var horario = $(this).find('Horario').text();

                    if (arreglodias[i] == dia) {
                        diainsertar = "<td>" + horario + "</td>";
                    }

                });
                crearbody = crearbody + diainsertar;
            }

            crearbody = crearbody + "</tr>";

            count++;
        }

    });
    $('#materiasimprimir').find('tbody').html(crearbody);
   


  //AGREGAR A LA TABLA

    $('#imprimir').print();

}